package com.wkbb.common.dto.basic;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class UserInfoDto {

    @ApiModelProperty(value = "用户ID")
    private Long id;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "姓名发音")
    private String speakName;

    @ApiModelProperty(value = "头像")
    private String headImgUrl;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "省份CODE")
    private String provinceCode;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "城市CODE")
    private String cityCode;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "区镇CODE")
    private String areaCode;

    @ApiModelProperty(value = "区镇")
    private String area;

    @ApiModelProperty(value = "地址")
    private String addr;

    @ApiModelProperty(value = "用户编号")
    private String userCode;

    @ApiModelProperty(value = "账户ID")
    private Long accountId;

    @ApiModelProperty(value = "组织ID")
    private Long orgId;

    @ApiModelProperty(value = "openId")
    private String openId;

    @ApiModelProperty(value = "角色类型(1教师2家长3学生4职员5游客)")
    private Integer roleType;

    @ApiModelProperty(value = "用户类型(1园长 2教师 3保育员 4 营养师 5代课教师 6其他)")
    private Integer userType;

    @ApiModelProperty(value = "年级")
    private Long gradeId;

    @ApiModelProperty(value = "年级名称")
    private String gradeName;

    @ApiModelProperty(value = "班级ID")
    private Long classId;

    @ApiModelProperty(value = "班级名称")
    private String className;

    @ApiModelProperty(value = "unionId")
    private String unionId;

    @ApiModelProperty(value = "岗位ID")
    private Long positionId;

    @ApiModelProperty(value = "岗位名称")
    private String positionName;

    private Boolean isClassMaster;

    //生日
    @ApiModelProperty(value = "生日")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;
    //入学时间
    @ApiModelProperty(value = "入学时间")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date enterDate;
    //民族
    @ApiModelProperty(value = "民族")
    private String nationality;

    @ApiModelProperty(value = "卡号")
    private String cardNo;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "关系类型(1爸爸 2妈妈 3爷爷4奶奶 5姥爷 6姥姥7亲友 8其他")
    private Integer relationType;

    @ApiModelProperty(value = "第三方用户ID")
    private String smartUserId;

    @ApiModelProperty(value = "智慧校园用户ID")
    private String smartWxUserId;

    @ApiModelProperty(value = "学号")
    private String studentNo;

    @ApiModelProperty(value = "是否已关注智慧校园公众号1是0否")
    private Boolean isSmartSubscribe;

    @ApiModelProperty(value = "人脸开关 0：关闭 1：开启 默认关闭")
    private Boolean faceFlag;

    @ApiModelProperty(value = "服务区域ID列表多个,分隔")
    private String serviceAreaIds;
}
